/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.capex.javacore.filehandling;

import java.io.File;
import java.io.RandomAccessFile;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;

/**
 *
 * @author IK
 */
public class CopyFile {
    
    private static File temporal;
    
    public static void main(String[] args) {
        loadFileIntoMemory();
        pasteFileFromMemory();
    }
    
    private static void pasteFileFromMemory() {
        JFileChooser selectorDeArchivos = new JFileChooser(".");
        selectorDeArchivos.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        int showOpenDialog = selectorDeArchivos.showOpenDialog(null);


        if (showOpenDialog == JFileChooser.APPROVE_OPTION) {
            if (temporal != null) {
                try {
                    RandomAccessFile archivoOrigen = new RandomAccessFile(temporal, "r");

                    String fileName = temporal.getName();

                    RandomAccessFile archivoDestino = new RandomAccessFile(selectorDeArchivos.getCurrentDirectory().getAbsolutePath() + "\\" + fileName, "rw");
                    System.out.println(selectorDeArchivos.getSelectedFile().getAbsolutePath() + "\\" + temporal.getName());
                    int bit;
                    while ((bit = archivoOrigen.read()) >= 0) {
                        archivoDestino.writeByte(bit);
                    }

                    archivoOrigen.close();
                    archivoDestino.close();


                } catch (Exception ex) {
                }
            }
        }
    }
    
    private static void loadFileIntoMemory() {
        JFileChooser selectorDeArchivos = new JFileChooser(".");
        selectorDeArchivos.setFileSelectionMode(JFileChooser.FILES_ONLY);
        int showOpenDialog = selectorDeArchivos.showOpenDialog(null);


        if (showOpenDialog == JFileChooser.APPROVE_OPTION) {
            if (selectorDeArchivos.getSelectedFile() != null) {
                temporal = selectorDeArchivos.getSelectedFile();
                System.out.println(temporal.getAbsolutePath());

            }
        }
    }
    
}
